package com.qys.livesMall.shop.service;

import com.qys.livesMall.framework.view.QysPage;
import com.qys.livesMall.kafka.entity.shop.ShopGoodsInterestInfo;
import com.qys.livesMall.kafka.entity.shop.ShopInterestInfo;
import com.qys.livesMall.shop.modal.dto.shop.record.ShopRecordSearch;
import com.qys.livesMall.shop.modal.vo.ShopBrowseRecordVO;
import com.qys.livesMall.shop.modal.vo.ShopGoodsInterestVO;
import com.qys.livesMall.shop.modal.vo.ShopUserInterestVO;

/**
 * 店铺相关记录服务
 *
 * @author makejava
 * @since 2023-05-26 10:29:44
 */
public interface ShopRecordService {


    QysPage<ShopBrowseRecordVO> searchShopBrowse(ShopRecordSearch search);

    void interest(ShopInterestInfo interestInfo);

    /**
     * 取消关注
     * @param shopId
     * @param userId
     */
    void interestCancel(Long shopId,Long userId);


    QysPage<ShopUserInterestVO> searchUserInterestShop(ShopRecordSearch search);

    QysPage<ShopGoodsInterestVO> searchUserInterestShopGoods(ShopRecordSearch search);


    /**
     * 是否已关注该商品
     * @param shopId
     * @return
     */
    int isInterestShop(Long shopId);

    /**
     * 是否已关注该商品
     * @param shopGoodsId
     * @return
     */
    int isInterestShopGoods(Long shopGoodsId);


    /**
     * 关注商品
     * @param interestInfo
     */
    void interestShopGoods(ShopGoodsInterestInfo interestInfo);

    /**
     * 取消关注店铺商品
     * @param shopGoodsId
     */
    void shopGoodsInterestCancel(Long shopGoodsId);



}
